<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <script>
    //数组中的这些ES5方法 some  every  filter  map 都有循环遍历功能

    // some用法 return后面跟着条件 只要有一项满足条件就返回true  返回的是布尔值 如果没有return的话一律返回false
    // var arr = [2,3,4,5]
    // arr.some(item => {
    //   if(item == 2) {
    //     item = 3  -----------------------------------错误   item表示每一项
    //   }
    // })
    // console.log(arr)  
    // var flag = arr.some(item => item>2); //箭头函数 
    // 等同上一句
    // var flag = arr.some(function(item){
    //    return item > 2;
    // });
    // console.log(flag)

    // var arr = [{
    //   name: '小花'
    // }, {
    //   name: '小草'
    // }, {
    //   name: '小树'
    // }]
    // var flag = arr.some(item => {
    //   if (item.name == '小花') {
    //     item.name = '小明';
    //     return true;
    //   }
    // })
    // console.log(flag)
    // console.log(arr)


    // every用法  return后面跟着条件  如果都满足就返回true  否则为false
    // var arr = [2,3,4,5]
    // var flag = arr.every(item => item >=2 );
    // console.log(flag)

    //filter用法  return跟着条件  不满足条件就过滤掉  对数组进行过滤 返回一个新数组s
    // var arr = [3,4,5,6,4]
    // var newArr = arr.filter((item,index) => {
    //   // console.log(item,index)
    //   return item > 3
    // })
    // console.log(newArr)

    //map 对数组的每一项进行修改  返回一个新数组
    // var arr = [3, 4, 5, 6, 4]
    // var newArr = arr.map(item => item + 1)
    // console.log(newArr)


    //  ES6方法   Set构造函数   对数组进行去重
    var arr = [3, 4, 5, 6, 4]
    var newArr = new Set(arr)
    console.log(newArr)
    newArr.forEach(item => console.log(item))
  </script>
</body>

</html>